#!/usr/bin/env python
# -*- coding: utf-8 -*-
import  time

#作用域：LEGB
# L:局部变量
# E：嵌套变量
# G：全局变量
# B:内置变量
a=10
b=20
#闭包
def f():
    a = 5
    def inner():#条件1 inner就是内部函数
        #条件2 外部环境的一个变量
        c=10
        print(a,b)
    return inner

f()()

############初识装饰器###################
#计算函数运行时间
def foo():
    print("foo.....")
    time.sleep(2)

def bar():
    print("bar.....")
    time.sleep(3)

def show_time(f):
    def inner():#闭包
        start = time.time()
        f()
        end = time.time()
        print("spend %s" % (end-start))
    return inner

foo = show_time(foo)
foo()

bar = show_time(bar)
bar()